package com.jingdianjichi.subject.application.dto;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jingdianjichi.subject.common.entity.PageInfo;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * 题目信息
 * @TableName subject_info
 */
@Data
public class SubjectInfoDTO extends PageInfo {
    /**
     * 主键
     */
    private Long id;

    /**
     * 分类id
     */
    private Long categoryId;
    /**
     * 题目名称
     */
    @NotBlank(message = "题目名称不能为空")
    private String subjectName;

    /**
     * 难度
     */
    @NotNull(message = "题目名称不能为空")
    private Integer subjectDifficult;

    /**
     * 出题人
     */
    @NotBlank(message = "出题人不能为空")
    private String settleName;

    /**
     * 题目类型 1单选 2多选 3判断 4简答
     */
    @NotNull(message = "题目类型不能为空")
    private Integer subjectType;

    /**
     * 题目分数
     */
    @NotNull(message = "题目分数不能为空")
    private Integer subjectScore;

    /**
     * 题目解析
     */
    private String subjectParse;

    /**
     * 创建人
     */
    private String createdBy;

    /**
     * 创建时间
     */
    private Date createdTime;

    /**
     * 更新人
     */
    private String updatedBy;

    /**
     * 更新时间
     */
    private Date updatedTime;

    /**
     * 逻辑删除
     */
    private Integer isDeleted;

    /**
     * 分类id
     */
    private List<Long> categoryIds;

    /**
     * 标签id
     */
    private List<Long> labelIds;

    /**
     * 答案
     */
    @NotEmpty(message = "答案不能为空")
    private List<SubjectAnswerDTO> subjectAnswerDTOList;
}